var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/index.ts
var src_exports = {};
__export(src_exports, {
  default: () => src_default
});
module.exports = __toCommonJS(src_exports);
var import_withTmpPath = require("./utils/withTmpPath");
var src_default = (api) => {
  api.describe({
    key: "drsModel",
    config: {
      schema(Joi) {
        return Joi.alternatives().try(
          Joi.object({
            /** 是否启用 */
            enable: Joi.boolean()
          }),
          Joi.boolean().invalid(true)
        );
      }
    },
    enableBy: (opts) => {
      var _a;
      return ((_a = opts.userConfig.drsModel) == null ? void 0 : _a.enable) !== false;
    }
  });
  api.onGenerateFiles({
    fn() {
      api.writeTmpFile({
        path: "@@drsModelForSlave.ts",
        content: `import { useModel } from 'umi';
import { useDrsModelForSlave } from '@szzj/drs-share-slave';

export default function useDrsModel(){
  const { appCode } = useModel('@@qiankunStateFromMaster');
  return useDrsModelForSlave({ appCode });
}`
      });
    }
  });
  api.register({
    key: "addExtraModels",
    fn() {
      return [
        (0, import_withTmpPath.withTmpPath)({
          api,
          path: '@@drsModelForSlave.ts#{"namespace":"@@drsModelForSlave"}'
        })
      ];
    }
  });
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {});
